package com.luxsoft.em2.replication.local.consumers;

import javax.jms.Topic;

import org.apache.log4j.Logger;
import org.hibernate.ReplicationMode;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.util.Assert;

import com.luxsoft.siipap.service.ServiceLocator2;
import com.luxsoft.sw3.replica.EntityLog;
import com.luxsoft.utils.LoggerHelper;

/**
 * Consumidor de sucursal para atender las existencias remotas
 * 
 * @author Ruben Cancino 
 *
 */
public class ExistenciasSucursalConsumer  implements InitializingBean{
	
	Logger logger=LoggerHelper.getLogger();
	
	private String sucursa;
	
	public void importarEntidad(final EntityLog log) {
		
		if(log.getSucursalOrigen().equals(getSucursa())){
			logger.info("Modificacion de esta entidad igonrada por ser originada en la misma sucursal..");
		}else{
			ServiceLocator2.getHibernateTemplate().replicate(log.getBean(), ReplicationMode.OVERWRITE);
			logger.info("Entidad importada: "+log);
		}
	}
	
	public void afterPropertiesSet() throws Exception {
		
		Assert.hasText(getSucursa(),"Debe registrar la sucursal que atiende");
		logger.info("Consumer para existencias registrado");
	}

	
	public String getSucursa() {
		return sucursa;
	}

	public void setSucursa(String sucursa) {
		this.sucursa = sucursa;
	}
	

	

}
